1. Field of the Invention
This invention relates generally to computer controlled displays, and in particular to a method and apparatus for designating a region on a display or stored in a memory which is under control of a keyboard, for example, during manipulation of information being displayed on such a display.
2. Description of the Prior Art
As the price for computer hardware continues to decline, the number and extent of applications for computers both in the home and in the workplace have increased enormously. In many such applications, notably the processing of textual material using so-called "word processing" techniques, the user of a computer system is called upon to designate locations or regions of the material displayed on a screen or stored in the memory of the system. For example, the user may wish to locate and display a particular sentence in a document stored in the computer system, when only a small portion of the document can be displayed on a CRT monitor coupled to the system at any one time. After locating or designating such locations or regions, the user of the system may enter additional information into the computer using a keyboard or other well known input device to modify the material displayed. For example, the user of the system may designate a location in text displayed on or off the screen, at which location additional text is to be inserted. Alternatively, a user may designate a portion of the text to be deleted or moved to another location.
Many mechanisms have been developed to allow a user of a computer system to designate such locations or regions. Conventionally available systems include joy sticks, cursor control keys, special function keys, and pointing devices such as "mice."
Cursor control keys, also known as "step" keys, are conventionally divided in sets of four or more on a keyboard, with the up/down keys used to move the cursor from one line to the next, and the right/left keys used to move the cursor along a given line. Cursor control keys, however, are among the slowest of all pointing mechanisms, primarily due to the large number of keystrokes required to move the cursor across large regions of the screen. For example, to position the cursor at a location 40 characters to the right on a given line requires either 40 keystrokes, or holding the key down for 40 cycles. Because this process is tedious, computer system hardware and software designers have provided alternative cursor control keys which move the cursor a word, a sentence, or a paragraph at a time. Unfortunately, each such alternative requires a separate key, or a separate set of keystrokes, resulting in a difficult to remember set of commands. Furthermore, for many operations the user must first mentally plan a path from the present to the desired cursor position. Such planning requires time and effort, frequently resulting in the user of such a system relying only upon the repeated actuation of the principle cursor control keys.
Another commonly used technique for designating locations or regions of text on a screen is by the use of graphic pointing devices, such as mice, graphics tablets, joy sticks, trackballs, touch pannels, touchsensitive screens, light pens, and the like. Graphic pointing devices, however, cannot point to regions not shown on the display. In addition to the added desk space required, the expense of these devices adds to the cost of the product with which they are used. Such devices are generally slow because of the time required for the operator to remove his or her hands from the keyboard, grasp or pick up the device, use the device, release it and then return to the keyboard in the correct position. Graphic pointing devices also require the user to maintain both the present and desired cursor positions in view and shift attention from one to the other.
Yet another technique for enabling a user to position a cursor to a desired location on a screen is the use of "find" commands. In conventional text processing equipment, a find command requires the user to enter a mode where keystrokes are interpreted as a pattern to be found, rather than as additional text or system commands. To use a find command the operator activates a switch where subsequent keystrokes are interpreted as the pattern to be found, enters the desired keystrokes, and then terminates the pattern using a delimiter which signals the end of the pattern and starts the search. Other systems require the user to end the pattern with a first signal, and then start the search with a second signal.
Find commands, however, have two major disadvantages. First, because the find command creates a separate mode of operation of the same keys, human errors and user irritation are prone to occur because the same keystrokes do not always represent the same activity. The user of such a system must always be aware of which mode it is in. The second major problem with find commands is the necessity of delimiting the pattern. The delimiter, of course, cannot be used in the pattern, meaning that any character chosen as the delimiter either must be excluded from the text or cannot be found by the find mechanism. Additionally, most implementations of the find command require that a portion of the display screen be reserved for displaying the pattern as it is entered. This reserved space consumes valuable display area, particularly on portable computers using smaller display areas. Additionally, with most implementations of find commands, the user cannot find a pattern prior to the current cursor position without either reversing the direction of the find command, using a separate command or yet another mode, or first moving the cursor to the beginning of the text or some other point ahead of the material to be searched.